package casarural;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.sql.Date;

import javax.swing.JFrame;

public class AutenticarPropietarioBean {

    private String codPropietario;
    private String password;
    
    private static InterfazLogicaNegocio logNeg;
    private static String ficheroIPServidorLNRemoto = "C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\html\\ServidorLNRemotoIP.txt";
    
    public AutenticarPropietarioBean()
    {
        try {
            BufferedReader br;
            br = new BufferedReader(new FileReader(ficheroIPServidorLNRemoto));
            String IP = br.readLine();
            String numPuerto = br.readLine();
            String nombreServicio = br.readLine();
            br.close();
            
            logNeg = (InterfazLogicaNegocio)Naming.lookup("rmi://" + IP + ":" + numPuerto + "/" + nombreServicio);
        } catch (FileNotFoundException e) {
            System.out.println("No se ha encontrado fichero con la IP del servidor de datos remoto. "+ e.toString());
        } catch (RemoteException e) {
            System.out.println("Problemas al buscar el servidor de la base de datos remoto. " + e.toString());
        } catch (MalformedURLException e) {
            System.out.println("URL del servidor de la base de datos remoto incorrecta. " + e.toString());
        } catch (IOException e) {
            System.out.println("Error leyendo el fichero con la IP del servidor de datos remoto. " + e.toString());
        } catch (NotBoundException e) {
            System.out.println("Problema desconocido al buscar el servidor de la base de datos remoto. " + e.toString());
        } catch (Exception e) {
            System.out.println("ERROR: " + e.toString());
        }
    }
    
    
    public void setCodPropietario(String codPropietario)
    {
      this.codPropietario = codPropietario;
    }
    
  
    public void setPassword(String password)
    {
      this.password = password;
    }
    
    
    public boolean autenticar()
    {
        boolean autenticado;
        try
        {
            autenticado = logNeg.autenticarUsuario(codPropietario, password);
        }
        catch (Exception ex)
        {
            autenticado = false;
        }
        return autenticado;
    }
    
    public boolean autenticado()
    {
        boolean autenticado;
        try
        {
            autenticado = logNeg.isAutenticado();
        }
        catch (Exception ex)
        {
            autenticado = false;
        }
        return autenticado;
    }
    
    public String getCodigoPropietario()
    {
        String propietario;
        try
        {
            propietario = logNeg.getUsuarioAutenticado();
        }
        catch (Exception ex)
        {
            propietario = null;
        }
        return propietario;
    }
    
}
